home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 32 / Mac Magazin and MacEasy Magazine CD - Issue 32.iso / Grafik & Text / OzTeX3.0 / Metafont / Inputs / Knuth / 6test0.mf < prev    next >
Text File  |  1996-03-25  |  2KB  |  64 lines

  1. % This tries all characters on TEST0.MF using six different sets of parameters
  2. if unknown cmbase: input cmbase fi % omit if CMMF can be assumed
  3. mag=.5;
  4. % use the following lines to get rid of DD nonsquareness
  5. % aspect_ratio_[proof]:=4/3; % WAITS only!
  6. % aspect_ratio_[smoke]:=4/3; % WAITS only!
  7. % mag:=3/8; % WAITS only!
  8. mode_setup; let mode_setup=\;
  9.  
  10. boolean running;
  11. def abort = hide(scrollmode; running:=false) enddef;
  12. def pause=stop "done with char "&decimal charcode&". " enddef;
  13. let iff=always_iff;
  14. def ligtable text t=enddef;
  15. def charlist text t=enddef;
  16. def extensible text t=enddef;
  17.  
  18. string currenttitle;
  19. let semi=;; let echar=endchar; let endchar=enddef;
  20. def cmchar expr s = currenttitle:=s;
  21.  let;=testchar semi quote def chartext=enddef;
  22. def testchar = semi let;=semi;
  23.  % now `chartext echar' will generate the character to be tested
  24.  running:=true; errorstopmode;
  25.  for k=1 upto 6:
  26.   if running: if known params[k]: scantokens params[k]; font_setup;
  27.     currentwindow:=k;
  28.     currenttitle & ", " & fontname[k];
  29.     chartext echar; fi fi endfor
  30.  pause; enddef;
  31.  
  32. string params[],fontname[];
  33. params[1]="roman_params"; fontname[1]="cmr10";
  34. params[2]="sans_params"; fontname[2]="cmsx10";
  35. params[3]="tt_params"; fontname[3]="cmtt10";
  36. params[4]="bold_params"; fontname[4]="cmb10";
  37. params[5]="quote_params"; fontname[5]="cmssqi8";
  38. params[6]="ital_params"; fontname[6]="cmti10";
  39.  
  40. w_rows=floor 1/2 screen_rows; w_cols=floor 1/3 screen_cols;
  41. def open(expr k,i,j)=
  42.  openwindow k from ((i-1)*w_rows,(j-1)*w_cols) to (i*w_rows,j*w_cols)
  43.  at (-10,140) enddef;
  44. def openit =
  45.  open(1,1,1); open(2,1,2); open(3,1,3);
  46.  open(4,2,1); open(5,2,2); open(6,2,3); enddef;
  47.  
  48. begingroup delimiters begintext generate;
  49.  def WAITSkludge expr s =
  50.   if length s > 6: substring (0,3) of s &
  51.    substring(length s-3,infinity) of fi s enddef;
  52.  numeric Xerox_world; % again, this is WAITS only
  53.  def makedef(expr s)(text t) =
  54.   expandafter def scantokens s = t enddef; flushtext enddef;
  55.  def flushtext suffix t = enddef;
  56.  for k=1 upto 6: if known params[k]:
  57.  makedef(params[k])
  58.   expandafter expandafter expandafter begintext
  59.   scantokens ("input "&WAITSkludge fontname[k]); fi endfor
  60. endgroup;
  61.  
  62. input test0
  63. end
  64.